package com.tsing.cedap.rest.service;

import com.tsing.cedap.common.vo.PageResult;
import com.tsing.cedap.rest.vo.reqVo.*;
import com.tsing.cedap.rest.vo.respVo.OrderRespVo;

import javax.servlet.http.HttpServletRequest;

/**
 * @author TheTsing
 * @create 2022-01-28 9:27
 */
public interface IOrderService {

    void placeOrder(PlaceOrderReqVo reqVo, HttpServletRequest request);

    void updateTip(UpdateTipReqVo reqVo);

    void cancelOrder(CancelOrderReqVo reqVo);

    OrderRespVo getOrderById(CodeReqVo reqVo);

    PageResult<OrderRespVo> orderPage(OrderPageReqVo reqVo, HttpServletRequest request);

    PageResult<OrderRespVo> missedOrdersPage(IdAndPageReqVo reqVo, HttpServletRequest request);

    void updateRider(UpdateRiderReqVo reqVo);

    void riderReceive(RiderReceiveReqVo reqVo);

    String getQr(CodeReqVo reqVo);

    void verifyQr(CodeReqVo reqVo);

    void customerPay(CodeReqVo reqVo);

    void riderPay(CodeReqVo reqVo);

    PageResult<OrderRespVo> riderOrderPage(OrderPageReqVo reqVo, HttpServletRequest request);

    PageResult<OrderRespVo> orderPageBySchool(OrderPageBySchoolReqVo reqVo, HttpServletRequest request);

}
